home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / CIRC3.PAK / CIRC3CTL.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  3KB  |  99 lines

  1. // circ3ctl.h : Declaration of the CCirc3Ctrl OLE control class.
  2. //
  3. // This is a part of the Microsoft Foundation Classes C++ library.
  4. // Copyright (C) 1992-1995 Microsoft Corporation
  5. // All rights reserved.
  6. //
  7. // This source code is only intended as a supplement to the
  8. // Microsoft Foundation Classes Reference and related
  9. // electronic documentation provided with the library.
  10. // See these sources for detailed information regarding the
  11. // Microsoft Foundation Classes product.
  12.  
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CCirc3Ctrl : See circ3ctl.cpp for implementation.
  15.  
  16. class CCirc3Ctrl : public COleControl
  17. {
  18.     DECLARE_DYNCREATE(CCirc3Ctrl)
  19.  
  20. // Constructor
  21. public:
  22.     CCirc3Ctrl();
  23.  
  24. // Overrides
  25.  
  26.     // Drawing function
  27.     virtual void OnDraw(
  28.                 CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
  29.  
  30.     // Persistence
  31.     virtual void DoPropExchange(CPropExchange* pPX);
  32.  
  33.     // Reset control state
  34.     virtual void OnResetState();
  35.  
  36.     virtual BOOL OnMapPropertyToPage(DISPID dispid, LPCLSID lpclsid,
  37.         BOOL* pbPageOptional);
  38.  
  39. // Implementation
  40. protected:
  41.     ~CCirc3Ctrl();
  42.     void GetDrawRect(CRect* rc);
  43.     short m_circleOffset;
  44.     BOOL InBounds(short nOffset);
  45.     BOOL InCircle(CPoint& point);
  46.     void FlashColor(CDC* pdc);
  47.     CString m_note;
  48.  
  49.     DECLARE_OLECREATE_EX(CCirc3Ctrl)    // Class factory and guid
  50.     DECLARE_OLETYPELIB(CCirc3Ctrl)      // GetTypeInfo
  51.     DECLARE_PROPPAGEIDS(CCirc3Ctrl)     // Property page IDs
  52.     DECLARE_OLECTLTYPE(CCirc3Ctrl)        // Type name and misc status
  53.  
  54. // Message maps
  55.     //{{AFX_MSG(CCirc3Ctrl)
  56.     afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
  57.     afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
  58.     afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
  59.     afx_msg void OnSize(UINT nType, int cx, int cy);
  60.     //}}AFX_MSG
  61.     DECLARE_MESSAGE_MAP()
  62.  
  63. // Dispatch maps
  64.     //{{AFX_DISPATCH(CCirc3Ctrl)
  65.     OLE_COLOR m_flashColor;
  66.     BOOL m_circleShape;
  67.     afx_msg void OnCircleShapeChanged();
  68.     afx_msg short GetCircleOffset();
  69.     afx_msg void SetCircleOffset(short nNewValue);
  70.     afx_msg BSTR GetNote();
  71.     afx_msg void SetNote(LPCTSTR lpszNewValue);
  72.     //}}AFX_DISPATCH
  73.     DECLARE_DISPATCH_MAP()
  74.  
  75.     afx_msg void AboutBox();
  76.  
  77. // Event maps
  78.     //{{AFX_EVENT(CCirc3Ctrl)
  79.     void FireClickIn(OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y)
  80.         {FireEvent(eventidClickIn,EVENT_PARAM(VTS_XPOS_PIXELS  VTS_YPOS_PIXELS), x, y);}
  81.     void FireClickOut()
  82.         {FireEvent(eventidClickOut,EVENT_PARAM(VTS_NONE));}
  83.     //}}AFX_EVENT
  84.     DECLARE_EVENT_MAP()
  85.  
  86. // Dispatch and event IDs
  87. public:
  88.     enum {
  89.     //{{AFX_DISP_ID(CCirc3Ctrl)
  90.     dispidCircleShape = 2L,
  91.     dispidCircleOffset = 3L,
  92.     dispidFlashColor = 1L,
  93.     dispidNote = 4L,
  94.     eventidClickIn = 1L,
  95.     eventidClickOut = 2L,
  96.     //}}AFX_DISP_ID
  97.     };
  98. };
  99.